Vous devez activer Javascript pour accéder à ce site
 

Semaine

RECHERCHE

XPath : un premier laboratoire

Étant donné un document XML, on peut sélectionner un noeud au sein du document avec une expression XPath. Plus généralement, étant donné un document XML et un noeud courant, on peut sélectionner, relativement à ce noeud, tout autre noeud ou ensemble de noeuds correspondant à un certain motif régulier.

Dans cette première activité de familiarisation avec XPath, nous allons d’abord passer en revue rapidement les éléments de base et vous inviter à faire un petit laboratoire.

Les expressions XPath les plus simples comprennent seulement un nom XML. Dans ce cas, on sélectionne l’élément ayant le nom correspondant. Par exemple, l’expression « chien » va sélectionner tout élément nommé « chien » et contenu dans le noeud courant. S’il y en a plus d’un, plusieurs éléments pourront être sélectionnés. On peut utiliser l’astérisque (*) pour sélectionner tous les éléments du context courant, peu importe leur nom. Les deux points (..) permettent de sélectionner le parent du noeud courant (indiqué par « . »), ainsi « ../chien » permet de sélectionner les éléments « chien » dans le noeud parent. Si on veut ignorer le noeud courant et sélectionner tous les éléments chien, on peut obtenir ce résultat avec l’expression « //chien ». On peut aussi sélectionner le noeud racine... avec l’expression XPath « / ». Ainsi donc, « /* » sélectionnera toujours l’élément-racine. L’instruction « //* » va sélectionner tous les noeuds du document. On peut sélectionner un attribut avec le symbole « @ ». Ainsi, on peut sélectionner le contenu de l’attribut race de tous les éléments chien avec l’expression « //chien/@race ».

<animaux>
<chien race="caniche" />
</animaux>

Avant de continuer plus loin avec la syntaxe XPath, nous vous invitons à utiliser le petit script suivant pour vous familiariser davantage avec la syntaxe :

XPath en ligne

Instructions : il suffit de saisir un document XML source et une expression XPath et d'appuyer sur le bouton. Le contenu textuel de chaque résultat est retourné. L'expression XPath est toujours appliquée à partir du noeud-racine. Cette petite application est limitée: elle suppose que le résultat prend une certaine forme (un ensemble de noeuds ou node set).

Fichier XML:

Sélection XPath:

Résultat :


© Daniel Lemire, 2014. Tous droits réservés.